package com.hh.designPrinciples.InterfaceSegregation.right;

/**
 * @author huangh
 * @since 2019/11/14
 * <p>
 * 那么 单一职责原则和接口隔离原则有什么不同呢?
 * <p>
 * 单一职责原则：约束的是类，接口，方法的职责是单一的
 * <p>
 * 也就是说，在一个接口中，只要职责是单一的，有多个方法也可以
 * 如：游泳：有狗刨，自由泳等
 * 针对的是程序中的实现和细节
 * 接口隔离原则：主要约束的是接口，
 * <p>
 * 针对抽象，整体，程序框架的构建
 */

/***
 *
 *
 定义：用多个专门的接口，而不使用单一的总接口，客户端不应该依赖它不需要的接口

 一个类（泛指，）对一个类的依赖应该建立在虚小的接口上

 建立单一接口，不要建立庞大臃肿的接口

 尽量细化接口，接口中的方法尽量少

 注意适度原则，一定要适度

 如果只是尽可能的一个接口一个方法的话，那么接口类将爆炸，复杂性更高

 优点：符合我们常说的高内聚低耦合的设计思想，从而使得类具有很好的：

 可读性
 可扩展性
 可维护性
 高内聚：减少对外的交互，使接口中最少的方法去完成最多的事情
 */
public class Bird implements IEatAnimalAction, IFlyAnimalAction {
    @Override
    public void eat() {

    }

    @Override
    public void fly() {

    }
}
